package com.vitco.util.xml; import com.vitco.manager.error.ErrorHandlerInterface; import javax.xml.XMLConstants; import javax.xml.transform.stream.StreamSource; import javax.xml.validation.Schema; import javax.xml.validation.SchemaFactory; import javax.xml.validation.Validator; /** * Some basic xml functionality */ public class XmlTools { public static boolean validateAgainstXSD(String xml, String xsd, ErrorHandlerInterface errorHandler) { return validateAgainstXSD(xml, new StreamSource(xsd), errorHandler); } public static boolean validateAgainstXSD(String xml, StreamSource xsd, ErrorHandlerInterface errorHandler) { try { SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); Schema schema = factory.newSchema(xsd); Validator validator = schema.newValidator(); validator.validate(new StreamSource(xml)); return true; } catch(Exception ex) { errorHandler.handle(ex); return false; } } }